on having a theme-provided background, call gtk_render_background()
from your ::draw handler.
+* The GtkPlacesSidebar added a GtkPlacesOpenFlags parameter to the
+ other-locations signal in order to allow opening new windows or
+ tabs as done with other locations. This breaks the API for those
+ using the other-locations signal.
+
Release notes for 3.18
======================
/* Callback used when the places sidebar asks us to show other locations */
static void
places_sidebar_show_other_locations_cb (GtkPlacesSidebar *sidebar,
+ GtkPlacesOpenFlags open_flags,
GtkFileChooserWidget *impl)
{
GtkFileChooserWidgetPrivate *priv = impl->priv;
}
static void
-emit_show_other_locations (GtkPlacesSidebar *sidebar)
+emit_show_other_locations (GtkPlacesSidebar *sidebar,
+ GtkPlacesOpenFlags open_flags)
{
- g_signal_emit (sidebar, places_sidebar_signals[SHOW_OTHER_LOCATIONS], 0);
+ g_signal_emit (sidebar, places_sidebar_signals[SHOW_OTHER_LOCATIONS], 0,
+ open_flags);
}
static void
NULL);
if (place_type == PLACES_OTHER_LOCATIONS)
- emit_show_other_locations (sidebar);
+ emit_show_other_locations (sidebar, open_flags);
else if (uri != NULL)
open_uri (sidebar, uri, open_flags);
else if (place_type == PLACES_CONNECT_TO_SERVER)
/**
* GtkPlacesSidebar::show-other-locations:
* @sidebar: the object which received the signal.
+ * @open_flags: a single value from #GtkPlacesOpenFlags specifying how it should be opened.
*
* The places sidebar emits this signal when it needs the calling
* application to present a way to show other locations e.g. drives
* and network access points.
* For example, the application may bring up a page showing persistent
* volumes and discovered network addresses.
+ * Since 3.20 the signal added the @open_flags parameter in order to be able
+ * to specify whether the user choose to open the other locations in a different
+ * tab or window. In this way it behaves like the open-location signal.
*
* Since: 3.18
*/
G_STRUCT_OFFSET (GtkPlacesSidebarClass, show_other_locations),
NULL, NULL,
_gtk_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
+ G_TYPE_NONE, 1,
+ GTK_TYPE_PLACES_OPEN_FLAGS);
/**
* GtkPlacesSidebar::mount: